//
//  CustomView.m
//  2D绘图
//
//  Created by apple on 15/9/17.
//  Copyright (c) 2015年 戴维营. All rights reserved.
//

#import "CustomView.h"

@implementation CustomView


// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.

 - (void)drawRect:(CGRect)rect
{
   
#if 0
    
//    获取当前语境下的图形上下文；
    CGContextRef context = UIGraphicsGetCurrentContext();
    
    //起点；
    CGContextMoveToPoint(context, 100, 100);
    
    //连接的下一个点的坐标；
    CGContextAddLineToPoint(context, 200, 100);
    
    CGContextAddLineToPoint(context, 100, 200);
    
//    CGContextMoveToPoint(<#CGContextRef c#>, <#CGFloat x#>, <#CGFloat y#>)这个是起始点；

//    CGContextStrokePath(context);
    
    //改变画笔的颜色
    
   // [[UIColor redColor] setStroke];
    
//    CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);
    
//    CGFloat componst = {1.0,0.0,0.0,1.0};
    
//    CGContextSetStrokeColor(context, &componst);
    
    
//线宽
    
//    CGContextSetLineWidth(context, 20);
    
    
//    设置线的两端样式
    
//    CGContextSetLineCap(context, kCGLineCapRound);
    
//    两线连接点的样式
    
//    CGContextSetLineJoin(context, kCGLineJoinRound);
    
//   虚线
    CGFloat length[] = {4,10};//实现，虚线（像素的个数）；
    
    CGContextSetLineDash(context, 0, length, 2);
    
//    0 为向左偏移量（像素）
    
    
    
    
//    画线,真实的绘制
    
    CGContextStrokePath(context);
   
    
#endif
    
#if 0
    
    CGContextRef context = UIGraphicsGetCurrentContext();
    
//    绘制矩形
    
    CGContextAddRect(context, CGRectMake(100, 100, 100, 100));
    
    //绘制边框颜色

//    [[UIColor redColor] setStroke];

//  CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);
//
//    CGContextStrokePath(context);
    
    //绘制矩形的填充色
    
//    CGContextSetFillColorWithColor(context, [UIColor greenColor].CGColor);
    
    [[UIColor greenColor] setFill];
    
    CGContextDrawPath(context, kCGPathFillStroke);
    
    [[UIColor redColor] setStroke];

    CGContextStrokePath(context);

#endif
    
#if 1
    
    
//  圆弧绘制方法一（与当前点无关）
    
//  获取当前语境下的上下文，｛绘图环境或者叫画布｝
    
    CGContextRef context = UIGraphicsGetCurrentContext();
    
//  绘制圆弧：原点坐标（x，y），半径，起点角度（弧度），终点角度和方向；
    
//  弧度的大小都是相对于x轴而言；
////    
//    CGContextAddArc(context, 200, 200, 100, M_PI_2, 0, 1);
//    
//    [[UIColor redColor] setFill];
//    
//    CGContextFillPath(context);
    
//    CGContextStrokePath(context);
//    
////
//
//    CGContextAddLineToPoint(context, 100, 200);
//
//    [[UIColor greenColor] setStroke];
//    
//    CGContextMoveToPoint(context, 200, 200);
//     CGContextStrokePath(context);
//
//
//
//    CGContextMoveToPoint(context, 100, 200);
//    
//    CGContextAddLineToPoint(context, 200, 300);
//    
//    [[UIColor redColor] setStroke];
//   
//    CGContextStrokePath(context);
//
    
    CGContextMoveToPoint(context, 100, 200);
    
    [[UIColor greenColor] setFill];
    
    CGContextAddArcToPoint(context, 100, 100, 200, 200, 100);
    
//    [[UIColor redColor] setStroke];
    
    CGContextFillPath(context);
    
//    
//    CGContextMoveToPoint(context, 100, 100);
//    
//    CGContextAddLineToPoint(context, 100, 200);
//    
//    [[UIColor orangeColor] setStroke];
//    
//    CGContextStrokePath(context);
//
    
    
//
#endif
    
#if 0
    
//   获取当前语境下的上下文，｛绘图环境或者叫画布｝
    CGContextRef context = UIGraphicsGetCurrentContext();
    
//   绘制的起点
    CGContextMoveToPoint(context, 100, 200);
    
//   绘制贝塞尔曲线  (一个控制点)；
    
//    CGContextAddQuadCurveToPoint(context, 200, 100, 300, 200);
    
    CGContextAddCurveToPoint(context, 150, 100, 250, 300, 300, 200);
CGContextStrokePath(context);
    
    [[UIColor greenColor] setFill];
    
    CGContextFillPath(context);
    
#endif
    
#if 0
    
// 绘制椭圆（与当前点无关，有填充色和边框颜色之分）
    
    //获取当前语境上下文
    
    CGContextRef contxet = UIGraphicsGetCurrentContext();
    
    //绘制矩形的内接椭圆或圆；
    
    CGContextAddEllipseInRect(contxet, CGRectMake(100, 100, 100, 50));
    
    CGContextStrokePath(contxet);
    
    

    
#endif
}


@end
